创建数据库和表
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
MySQL可以包含多个数据库(也称作schema
),一个数据库由多个表组成,表又由行(records
)和列(fields
)组成。
现在我们来创建数据库"studentdb"
和表"class101"
,表"class101"将包含三个列,他们分别为id
(INT类型),name
(VARCHAR(50) – 可变长度,最大50个英文字符,gpa
(FLOAT浮点数)。
注意:不要在数据库名,表名和列名中使用特殊字符,否则将会给你带来不必要的麻烦。
提示:在我们继续学习前我们先回顾一下客户端的使用技巧。
";"
意味着命令结束,这时SQL
命令将被发送到服务器端执行,我们也可以将SQL
命令写在多行上,记住使用";"
作为命令的结束符。你可以使用\c
取消当前SQL
命令。
你可以使用上/下键获取之前/之后已经执行的SQL
命令能够(历史记录)。
打开CMD控制台的快速编辑模式,这样我们可以在控制台中方便的使用复制/粘帖功能。右键点击"控制台窗口" => "属性" => "编辑选项" => 勾选"快速编辑模式"。完成后我们就可以使用左键选择需要复制的内容并使用右键点选高亮部分进行复制,然后在光标处再次点击右键就可以快速将复制的内容粘帖过来了。
现在让我们使用刚刚创建的"myuser"
用户登录到服务器。
> mysql -u myuser -p
-- 创建"studentdb"数据库
mysql> CREATE DATABASE IF NOT EXISTS studentdb;
Query OK, 1 row affected (0.08 sec)
-- 查询所有数据库
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| studentdb |
| test |
+--------------------+
5 rows in set (0.07 sec)
-- 将"studentdb"设置为当前数据库
-- 设置当前数据库后我们就可以在SQL直接使用表名了,而不用再使用<数据库名>.<表名>的方式。
mysql> USE studentdb;
Database changed
-- 在当前数据库下创建表"class101",该表包含三个指定类型的字段
mysql> CREATE TABLE class101 (id INT, name VARCHAR(50), gpa FLOAT);
Query OK, 0 rows affected (0.15 sec)
-- 查询数据库"dtudentdb"中的所有表
mysql> SHOW TABLES;
+---------------------+
| Tables_in_studentdb |
+---------------------+
| class101 |
+---------------------+
1 row in set (0.00 sec)
-- 查看表"class101"的定义
mysql> DESC class101;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(50) | YES | | NULL | |
| gpa | float | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.04 sec)
在线练习
{$ activeFileHint $}